The present invention relates to data networking and more particularly to systems and methods for providing fault tolerance to data networks.
MPLS (Multi-Protocol Label Switching) Traffic Engineering has been developed to meet data networking requirements such as guaranteed available bandwidth. MPLS Traffic Engineering exploits modem label switching techniques to build guaranteed bandwidth end-to-end circuits through an IP network of label switched routers (LSRs). These circuits are a type of label switched path (LSP) and thus generally referred to as MPLS Traffic Engineering LSPs.
MPLS Traffic Engineering LSPs traverse a series of nodes and links that interconnect them. MPLS Traffic Engineering protocols define a link to be a logical construct that represents physical resources that interconnect label switched routers. The information about a particular link including the available link bandwidth is used in determining the routes of LSPs and signaling their establishment.
A single pair of nodes may be connected by a number of links including both physical links and logical links, i.e., logical connections through a network such that the nodes are considered adjacent for MPLS Traffic Engineering purposes. To place LSPs, MPLS Traffic Engineering relies on conventional Internet link state routing protocols such as OSPF and IS-IS that require each node to report information about all of its directly connected nodes to all nodes in the network.
To avoid the need to advertise information about each link between a pair of nodes, the concept of a “link bundle” has been developed to support MPLS Traffic Engineering. A link bundle combines multiple links between a pair of nodes. The links that make up a bundle are then referred to as “component links.” Link bundling improves routing scalability by reducing the amount of information that has to be advertised by link state routing protocols to support signaling and computation of MPLS Traffic Engineering LSPs. Information about link bundles including bandwidth information is flooded throughout the network while information about component links is maintained only at the directly connected nodes. Details of link bundling are described in Kompella, et al., “Link Bundling in MPLS Traffic Engineering,” IETF Internet Draft, July 2002, the contents of which are herein incorporated by reference in their entirety for all purposes.
In the signaling traffic used to establish an LSP, only the link bundle is identified. An LSP head-end is unaware of individual component links of link bundles connected to other nodes along the LSP. However, at the originating node of a link bundle, a local admission control mechanism assigns each LSP to a particular component link that satisfies the LSP's bandwidth requirement if such a component link is available.
An important aspect of MPLS Traffic Engineering reliability is addressing link failures in order to minimize traffic loss. When a component link fails, all LSPs passing through that component link are broken and must be rerouted. One protection mechanism provides that the failure will be signaled to the head-end of each affected LSP and the head-ends will react by rerouting the LSP to avoid the failed component link. Another protection mechanism referred to as Fast Reroute reduces the recovery time by providing for impacted traffic to be patched through a local backup tunnel around the failure. The Fast Reroute mechanism protects the impacted traffic until such time the head-end can reroute the LSP.
Whether or not Fast Reroute is operative for a particular impacted LSP, the end result of the head-end's rerouting of the LSP will often be that the LSP extends through the same link bundle but simply uses a different component link than the one that failed. A repair that is essentially entirely local in its effect thus requires a relatively large amount of signaling traffic along the LSP and delay during which packets are lost, especially if Fast Reroute mechanisms are not enabled. Since a single component link can carry numerous LSPs, a single component link failure can cause a very large amount of signaling and traffic disruption. What is need are systems and methods for minimizing signaling and traffic disruption for local repairs within link bundles.